﻿using System;
using System.Web.Mvc;
using ProjetoComperio.BusinessLogicLayer;
using ProjetoComperio.DataLayer.Entities;
using ProjetoComperio.Framework.Web.Security;
using ProjetoComperio.Framework.Web.Security.UrlEncrypt;
using ProjetoComperio.SystemFramework.Web;

namespace ProjetoComperio.Presentation.Web.Controllers
{
    [RequiresAuthentication]
    public class AcademicPersonCVController : ComperioController
    {
        private AcademicPersonCVBLL academicPersonCVBLL;

        public AcademicPersonCVController()
        {
            academicPersonCVBLL = new AcademicPersonCVBLL();
        }

        public AcademicPersonCVController(AcademicPersonCVBLL academicPersonCVBLL)
        {
            this.academicPersonCVBLL = academicPersonCVBLL;
        }


        #region Edit

        [AcceptVerbs(HttpVerbs.Get)]
        public ActionResult Edit(String id)
        {
            var resumeTip =
                @"Áreas de interesse:<br>
exemplo: Programação,Banco de dados,Análise de sistemas,Álgebra<br><br>

Idiomas:<br>
exemplo: 
Ingles -Avançado
Espanhol-Iniciante
Francês - Intermediário<br><br>

Conhecimentos técnicos:<br>
exemplo:
Programação em Java
Programação em PHP
Análise Orientada a Objeto
Metodologias Ágeis
Sistemas baseados em Linux
Implementação de banco de dados<br><br>

Horário disponível para trabalhos acadêmicos:<br>
exemplo: Manha, Tarde e Noite
";
            var academicPersonCV = academicPersonCVBLL.RetrieveAcademicPersonCVByAcademicPersonID(Convert.ToInt32(this.CurrentUser.PersonID));

            if (academicPersonCV != null)
                return View(academicPersonCV);

            ViewData.Model = new AcademicPersonCV() { CVDescription = resumeTip };
            return View();
        }

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Edit([Bind(Exclude = "id")] AcademicPersonCV _academicPersonCV)
        {
            if (!ModelState.IsValid)
                return View(_academicPersonCV);

            var academicPersonCV = academicPersonCVBLL.RetrieveAcademicPersonCVByAcademicPersonID(Convert.ToInt32(this.CurrentUser.PersonID));
            if (academicPersonCV != null)
            {
                academicPersonCV.CVDescription = _academicPersonCV.CVDescription;
                academicPersonCVBLL.Edit(_academicPersonCV);
            }
            else
            {
                _academicPersonCV.AcademicPersonID = Convert.ToInt32(Convert.ToInt32(this.CurrentUser.PersonID));
                academicPersonCVBLL.Create(_academicPersonCV);
            }

            return RedirectToAction("StartPage", "Home");
        }

        #endregion
    }
}
